﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRD.Model.SRD.BO;
using SRD.Model.SRD.DTO;
using System.Data;

namespace SRD.View.Views
{
    public partial class listCentroCusto : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarGridCentroCusto();
                if (Session["mensagem"] != null)
                {                    
                    MessageBox.Show(Session["mensagem"].ToString(), MessageBox.MessageType.Success);
                    Session["mensagem"] = null;
                }
            }
        }

        public void CarregarGridCentroCusto()
        {
            CentroCustoBO centroCusto = new CentroCustoBO();
            GridCentroCusto.DataSource = centroCusto.findAll();
            GridCentroCusto.DataBind();
        }

        public void CarregarGridCentroCusto(IQueryable dstCentroCusto)
        {
            GridCentroCusto.DataSource = dstCentroCusto;
            GridCentroCusto.DataBind();
        }

        protected void btnVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void BtnNovo_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("editCentroCusto.aspx");
        }

        protected void GridCentroCusto_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            CENTRO_CUSTO objCentroCusto = new CENTRO_CUSTO();
            CentroCustoBO centroCusto = new CentroCustoBO();
            String resposta;

            objCentroCusto.CENTRO_CUSTO_ID = Convert.ToInt32(GridCentroCusto.DataKeys[e.RowIndex].Value);

            resposta = centroCusto.delete(objCentroCusto);

            CarregarGridCentroCusto();

            MessageBox.Show(resposta, MessageBox.MessageType.Success);
        }

        protected void GridCentroCusto_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridCentroCusto.PageIndex = e.NewPageIndex;
            CarregarGridCentroCusto();
        }

        protected void PesquisaCentroCusto(object sender, ImageClickEventArgs e)
        {
            CentroCustoBO centroCusto = new CentroCustoBO();
            String nomeCentroCusto = txtPesquisa.Text;
            IQueryable dtsCentroCusto = centroCusto.findByName(nomeCentroCusto);
            if (dtsCentroCusto != null)
            {
                CarregarGridCentroCusto(dtsCentroCusto);
            }
            else
            {
                MessageBox.Show("Não foi encontrado nenhum registro com essa informação!", MessageBox.MessageType.Success);
            }
            txtPesquisa.Text = "";
        }
    }
}